namespace GamFi.Admin.API.Application.Contracts.Chain.UpdateChain;

/// <summary>
/// Запрос на обновление существующего чейна
/// </summary>
public class UpdateChainRequest
{
    /// <summary>
    /// Идентификатор чейна, который требуется обновить
    /// </summary>
    public Guid ChainId { get; set; }

    /// <summary>
    /// Новое название чейна
    /// </summary>
    public string Name { get; set; } = default!;

    /// <summary>
    /// Новый ИД картинки
    /// </summary>
    public Guid? ImageId { get; set; }

    /// <summary>
    /// Пустой конструктор
    /// </summary>
    public UpdateChainRequest()
    {
    }

    /// <summary>
    /// Конструктор для создания запроса на обновление существующего чейна
    /// </summary>
    /// <param name="request">Объект запроса на обновление существующего чейна</param>
    public UpdateChainRequest(UpdateChainRequest request)
    {
        ChainId = request.ChainId;
        Name = request.Name;
        ImageId = request.ImageId;
    }
}